import { ref, computed, reactive } from 'vue'
import { defineStore } from 'pinia'

// 参数2：当前store的配置信息，两种形式，对象（选项式），函数（组合式）
// 对象（选项式）
export const useCounterStore = defineStore('counter', {
  state:()=>{
    return {
      nums: [34,45,56]
    }
  },
  getters:{
    sum(state){
      return state.nums.reduce((prev,val)=>prev+val,0)
    }
  },
  actions:{
    change_nums(val){
      this.nums.push(val);
    }
  }
})

// 函数（组合式）
export const useUserStore = defineStore('user', ()=>{
  const n = ref(512);

  const double = computed(()=>{
    return n.value * 2;
  })

  function change_n(val){
    n.value = val
  }

  return { n, double, change_n };
})